package com.bookmanager.www.mapper;

import com.bookmanager.www.entity.FlBook;
import com.bookmanager.www.entity.FlCategories;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bookmanager.www.entity.FlClassify;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 图书的类别 Mapper 接口
 * </p>
 *
 * @author 风离
 * @since 2021-09-17
 */
public interface FlCategoriesMapper extends BaseMapper<FlCategories> {

    /**
     * 获取所有分类信息
     * @return
     */
    List<FlCategories> getAllCategories();

    /**
     * 添加一个分类
     * @param categoriesName
     * @param topImage
     * @param classifyId
     * @return
     */
    int addOneCategories(@Param("categoriesName") String categoriesName, @Param("topImage")String topImage,
                         @Param("classifyId") Integer classifyId);

    /**
     * 通过分类名查询分类
     * @param categoriesName
     * @return
     */
    FlCategories selectCategoriesByCategoriesName(@Param("categoriesName")String categoriesName);

    /**
     * 通过旧分类名修改分类
     * @param oldCategoriesName
     * @param newCategoriesName
     * @return
     */
    int updateCategoriesByOldCategoriesName(@Param("oldCategoriesName")String oldCategoriesName,@Param("newCategoriesName") String newCategoriesName);

    /**
     * 通过分类名删除该分类
     * @param categoriesName
     * @return
     */
    int deleteCategoriesByCategoriesName(@Param("categoriesName")String categoriesName);

    /**
     * 获取大分类信息
     * @return
     */
    List<FlClassify> getAllClassify();

    /**
     * 通过大分类Id获取其下所有小分类
     * @param classifyId
     * @return
     */
    List<FlCategories> getCategoriesByClassifyId(@Param("classify_id")int classifyId);

    /**
     * 根据CategoriesId 获取分类名
     * @param categoriesId
     * @return
     */
    String selectCategoriesNameByCategoriesId(@Param("categoriesId") Integer categoriesId);

    /**
     * 根据CategoriesId获取ClassifyId
     * @param categoriesId
     * @return
     */
    int selectClassifyIdByCategoriesId(@Param("categoriesId")Integer categoriesId);
}
